/****************************************************************************
 *
 *   Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.26727, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.47004, 0.3937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.49554, 0.38791 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.39241, 0.38309 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.20316, 0.37905 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 30.96721, 0.37567 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.72203, 0.37284 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.50098, 0.37045 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.32828, 0.36843 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.21259, 0.36671 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.14149, 0.36524 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.07875, 0.364 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96511, 0.363 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72254, 0.3623 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.26124, 0.36198 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.48873, 0.36217 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.31993, 0.363 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.6875, 0.36464 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.55144, 0.36723 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.9072, 0.37091 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.7918, 0.37575 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.28671, 0.3818 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.51569, 0.38908 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.63546, 0.39756 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.81864, 0.40725 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.76896, 0.41814 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -3.99171, 0.43024 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.76247, 0.44351 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.05215, 0.45778 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.88966, 0.47272 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.3543, 0.48778 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.5641, 0.50216 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.66333, 0.51489 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.81046, 0.52483 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.16442, 0.53091 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.86592, 0.5323 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -21.0139, 0.52866 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.64383, 0.52024 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.71837, 0.50789 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.13656, 0.49288 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.75867, 0.47663 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.43556, 0.46049 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.03177, 0.44555 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.43686, 0.43258 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.56625, 0.42202 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.35613, 0.4141 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.75672, 0.40888 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.72621, 0.40636 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.22599, 0.40653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.21631, 0.40943 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.65109, 0.41516 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.47134, 0.42393 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.59746, 0.43604 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.92312, 0.45183 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.31473, 0.47155 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.62369, 0.49504 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.71984, 0.5213 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.55252, 0.54796 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.23057, 0.57121 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.07977, 0.58663 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.61333, 0.59102 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.39587, 0.58405 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.11983, 0.56816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.67735, 0.54698 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.20038, 0.52385 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.72854, 0.50109 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.35699, 0.47999 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.19845, 0.46118 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.36511, 0.44479 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 28.96236, 0.43077 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.0875, 0.4189 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.82933, 0.40894 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.26727, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.34267, 0.37411 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.65205, 0.37023 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.79318, 0.367 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.8057, 0.36431 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.7225, 0.36209 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.5747, 0.36028 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.39544, 0.35883 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.21989, 0.35772 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.08076, 0.35691 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.00087, 0.35639 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.98559, 0.35615 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.01698, 0.35617 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05047, 0.35646 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.01431, 0.35704 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.81225, 0.35797 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.33074, 0.35933 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.45096, 0.36126 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.06484, 0.36396 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.09228, 0.3676 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.49713, 0.37237 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.30003, 0.37838 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.58648, 0.38567 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.50696, 0.39421 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.26484, 0.40396 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.90987, 0.41491 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.7967, 0.4271 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.22065, 0.44069 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.07664, 0.45579 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.3368, 0.47246 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.04146, 0.49058 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.28008, 0.50977 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.17104, 0.52932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.84917, 0.54814 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.46486, 0.56467 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.1884, 0.577 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.20425, 0.5832 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.68186, 0.58194 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.7279, 0.57289 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.34567, 0.55702 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.42934, 0.53628 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.79793, 0.51309 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.24764, 0.48982 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.59494, 0.46828 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.69628, 0.44967 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.44742, 0.43456 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.77272, 0.42313 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.61356, 0.41526 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.9201, 0.41075 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.64656, 0.40931 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.74804, 0.41071 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.17711, 0.41468 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.87969, 0.42103 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.79334, 0.42947 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.85413, 0.43959 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -41.01903, 0.45063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.30463, 0.46145 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.82844, 0.47052 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.82304, 0.47637 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.59755, 0.47816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.45764, 0.4759 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.63344, 0.47038 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.25608, 0.46262 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.62075, 0.45352 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 7.98497, 0.44376 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.8401, 0.43381 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.19407, 0.42401 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.05749, 0.4146 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.44516, 0.40579 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.37861, 0.39773 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.88873, 0.39051 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.0174, 0.38418 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.81636, 0.37873 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.34267, 0.37411 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.54026, 0.35467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.8854, 0.35264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.0815, 0.351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.16198, 0.34968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.14957, 0.34865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.06284, 0.34788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.92369, 0.34734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.76061, 0.34706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.60623, 0.34704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.49067, 0.3473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43369, 0.34787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43753, 0.34875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.48025, 0.34995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.50903, 0.35148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.43547, 0.35336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.13666, 0.35563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.46647, 0.3584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.27668, 0.36188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.44381, 0.36629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.89545, 0.37182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.63218, 0.37861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.74227, 0.38666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.40455, 0.39588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.128, 0.40613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.56755, 0.41739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.64538, 0.42978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.16187, 0.44358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.01464, 0.4591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.19856, 0.4766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.78212, 0.4962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.87124, 0.51782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.57517, 0.54112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.99025, 0.56534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.2113, 0.58894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.3652, 0.60951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.64033, 0.62389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.27516, 0.62898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.48862, 0.62298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.38554, 0.6062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.90392, 0.58101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.84229, 0.55108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -33.94044, 0.52015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -36.95617, 0.49121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.70261, 0.46613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.04854, 0.44574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.90205, 0.43017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.19435, 0.41909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.87051, 0.41198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.88642, 0.40827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.20813, 0.40735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.81028, 0.40861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.67391, 0.41144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.78919, 0.41519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.17146, 0.41906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.89231, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.11026, 0.42364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.06994, 0.42289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.04988, 0.41995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.28099, 0.41538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.88869, 0.40999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.89161, 0.40445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.75602, 0.39913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.11317, 0.39413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.21853, 0.38936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.08142, 0.38472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.68934, 0.38017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.01994, 0.37571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.05009, 0.37138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.76185, 0.36727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.14816, 0.36348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.21845, 0.36009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.0012, 0.35715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.54026, 0.35467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.48811, 0.33994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.82682, 0.33905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.03919, 0.33843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.15729, 0.33803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.19638, 0.33782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.16228, 0.33777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.06232, 0.33789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.9125, 0.33819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.73787, 0.3387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56787, 0.33947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.43008, 0.34053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.34368, 0.34193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.31081, 0.34367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.30412, 0.34575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.25286, 0.34816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.03547, 0.35093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.48734, 0.35415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.42636, 0.35801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.68994, 0.36274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.17306, 0.36858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.86, 0.37562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.84568, 0.3838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.33982, 0.39293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.3569, 0.40283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.90827, 0.41346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.0148, 0.42504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.47368, 0.43798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.20469, 0.45271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.23887, 0.46957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.67955, 0.4888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.64998, 0.5105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.2457, 0.5347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.5125, 0.56113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.46509, 0.58887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.14478, 0.61577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.68937, 0.6382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.36407, 0.65164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.50238, 0.65226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.36517, 0.63875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.01172, 0.613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.28083, 0.57932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.88169, 0.54276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.51013, 0.50764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -34.91825, 0.47676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -36.9276, 0.4514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.41398, 0.43175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.29037, 0.41733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.4985, 0.40737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.00738, 0.40097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.81239, 0.39725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.93019, 0.39539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.39114, 0.39462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.23905, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.54851, 0.39345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.45512, 0.39175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.17115, 0.38872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.95493, 0.38442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.03593, 0.37932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.54171, 0.3741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.4749, 0.36933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.74696, 0.3653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76094, 0.36204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14398, 0.35936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.44684, 0.35703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.6662, 0.35486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.77014, 0.35272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.71782, 0.35057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.46956, 0.34843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 15.98991, 0.34635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.25144, 0.34439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.24285, 0.34262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 18.97646, 0.34113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.48811, 0.33994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 16.99409, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.29712, 0.32845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.49508, 0.32849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.62361, 0.32872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.69491, 0.32909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.70481, 0.32957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.64633, 0.33018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.52065, 0.33092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34052, 0.33183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.12843, 0.33294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.91311, 0.33431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.72514, 0.33597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.58763, 0.33794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.49847, 0.34022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.40726, 0.34277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.19883, 0.34561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.69714, 0.34886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.69503, 0.35268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 13.00117, 0.35733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.48909, 0.36301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.1375, 0.36976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 3.05579, 0.37744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.5143, 0.3858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.23356, 0.39462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.73725, 0.40392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.71938, 0.41403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -17.99327, 0.42546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.50839, 0.43866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.32752, 0.45395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.57746, 0.47147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.38768, 0.49127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.83541, 0.51344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.92098, 0.538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.59087, 0.56455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.80759, 0.59171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.64227, 0.61645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.34099, 0.63431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.29998, 0.6406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.92332, 0.63265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.43945, 0.61107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.80996, 0.5795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.78239, 0.54305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.01715, 0.50656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.19277, 0.47354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.0524, 0.44583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.40925, 0.42389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.13957, 0.4073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.17756, 0.39523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.51166, 0.38668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.17545, 0.38069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.22965, 0.37643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.74181, 0.37317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.78061, 0.37034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.43657, 0.36741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.85702, 0.36398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.25798, 0.35991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.88181, 0.35536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.91514, 0.35075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.42234, 0.34656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33787, 0.34313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.48527, 0.34054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.20474, 0.3387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.93043, 0.33739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.69976, 0.33635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48914, 0.33542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.24559, 0.33447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.9145, 0.33349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.44945, 0.33248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.80912, 0.33147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.95584, 0.33052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.86407, 0.32969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.53347, 0.32905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 16.99409, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.9558, 0.32006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.20183, 0.32032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.35901, 0.32078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.47067, 0.32141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.55069, 0.32219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.58915, 0.32307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.56762, 0.32405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47312, 0.32513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30467, 0.32633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.07438, 0.32769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.80744, 0.32924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.54046, 0.331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.31202, 0.333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.1401, 0.3352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.99067, 0.3376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.75377, 0.34023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.24555, 0.3432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.24303, 0.3467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.5399, 0.35096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 8.00408, 0.35614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.62295, 0.3622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.52861, 0.36892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.00792, 0.376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.62498, 0.38325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -12.95392, 0.3908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.70442, 0.39907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.71504, 0.40861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.95783, 0.41986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.50811, 0.43301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.49368, 0.44802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.03438, 0.4647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.18869, 0.48289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.93152, 0.50249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.18112, 0.52327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.87168, 0.54439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -21.04563, 0.56389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.92282, 0.5786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.89397, 0.58497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.41004, 0.58052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.81302, 0.56508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.21238, 0.5408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.47392, 0.51128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.2983, 0.48039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.32388, 0.4513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.2079, 0.42601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.67495, 0.40532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.54034, 0.38914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.71639, 0.37688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.20379, 0.36771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.06682, 0.36085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.39572, 0.35561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.27253, 0.35144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.76343, 0.34791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.94806, 0.34463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.96417, 0.3413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -8.02189, 0.33779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.35576, 0.33419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.13537, 0.3308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39597, 0.32791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.03425, 0.32571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.13515, 0.32423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.298, 0.32334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.57324, 0.32285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.9869, 0.32255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.49175, 0.32229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.01228, 0.32198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.48176, 0.32163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.85186, 0.32123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.08183, 0.32083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.12966, 0.32045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.95945, 0.32016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.55984, 0.32001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.9558, 0.32006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.31453, 0.31382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.48972, 0.31435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.58499, 0.31507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.65437, 0.31596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.71778, 0.317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.76407, 0.31814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.76716, 0.31938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70239, 0.3207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.55596, 0.3221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.32915, 0.32361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.04161, 0.32524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.73217, 0.327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.44877, 0.32889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.22136, 0.33088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 12.02403, 0.33298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.74698, 0.33524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.20006, 0.3378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.15366, 0.34086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.40148, 0.3446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.82233, 0.34911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.42555, 0.35426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.62935, 0.35976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.05002, 0.36531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.47158, 0.37078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.54292, 0.3764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.00156, 0.38264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.7084, 0.39006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.64198, 0.39903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.86797, 0.40963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.49571, 0.42164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.62823, 0.43458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.31805, 0.44797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.5504, 0.46143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.26996, 0.47464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.44438, 0.48708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.13587, 0.49779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.54492, 0.50524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.99899, 0.50771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.88152, 0.50393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.52807, 0.49363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.13333, 0.4777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.70202, 0.45796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.05239, 0.43658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.8654, 0.41559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.76364, 0.39651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.39714, 0.3802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.51121, 0.36688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.97907, 0.35634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.79522, 0.34813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.03543, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.79989, 0.33676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.16727, 0.33279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.1878, 0.32955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.92153, 0.32675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.49215, 0.32415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.10495, 0.32161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.99595, 0.31916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.33509, 0.31696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.14913, 0.31519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.68601, 0.31396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.38369, 0.31327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.15335, 0.31302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.12178, 0.31305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.30342, 0.3132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.62745, 0.31334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.99602, 0.31341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33117, 0.31343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.58445, 0.3134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.71839, 0.31335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.6894, 0.31332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.45328, 0.31335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 12.98837, 0.3135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.31453, 0.31382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.02886, 0.30968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.12855, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.14884, 0.31124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.1567, 0.31228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.18173, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.21571, 0.31476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.22843, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.1861, 0.31758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.06393, 0.31907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.85376, 0.32062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.57013, 0.32223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.25213, 0.32389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.95153, 0.32558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.70138, 0.3273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.47444, 0.32905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.15544, 0.33092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.54972, 0.33308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.4305, 0.33572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.60546, 0.33895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.97817, 0.34277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.58851, 0.34697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.37792, 0.35121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.61972, 0.35521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.78617, 0.35894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.55603, 0.36266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.69494, 0.36687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.0754, 0.37207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.6671, 0.37857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51295, 0.38637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.69883, 0.39512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.31912, 0.40422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.44517, 0.41297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.11208, 0.42079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.33554, 0.42733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.15134, 0.43241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.6528, 0.43582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -12.00476, 0.43727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.43095, 0.43633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.18632, 0.43261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.52308, 0.42589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.64709, 0.41639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66227, 0.40476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.51964, 0.39192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.0027, 0.37886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.77095, 0.36643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.45203, 0.35526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.74286, 0.34566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.4752, 0.33769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.62233, 0.3312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.25304, 0.32599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.46134, 0.32182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.31204, 0.31851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.83452, 0.31587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.06724, 0.31372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.11795, 0.31188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.18524, 0.31022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.50767, 0.30873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26216, 0.30747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.52215, 0.30655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.97857, 0.30603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.33989, 0.3059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.8348, 0.30608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.59725, 0.30646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.63226, 0.3069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.84873, 0.30732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.12912, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.38518, 0.30795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.56819, 0.30819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.64364, 0.30839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.56676, 0.30859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.28552, 0.30884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.76816, 0.30918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.02886, 0.30968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.05774, 0.30746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.08895, 0.30826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.03247, 0.30922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.96995, 0.31034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.94392, 0.31159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.95262, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.9644, 0.31434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93789, 0.31577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.83854, 0.31723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.65029, 0.31869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.384, 0.32016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.07849, 0.32162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.78515, 0.32306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.53262, 0.32446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.28478, 0.32588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.91767, 0.32744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.23567, 0.32928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 7.02414, 0.33158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.11616, 0.33439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.44904, 0.33761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.9047, 0.34094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.7405, 0.34405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.76137, 0.34669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.64234, 0.34887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.09407, 0.35091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.90268, 0.35325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.94142, 0.35634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.16456, 0.36042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.59413, 0.36545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.30315, 0.37108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.39502, 0.37669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.9815, 0.38159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.16767, 0.38523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -16.05056, 0.38736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.72714, 0.38803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.30006, 0.3875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.87647, 0.386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.56831, 0.38366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.5032, 0.38041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.83881, 0.37609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.75525, 0.37063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.40643, 0.36415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84366, 0.35696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.9572, 0.34944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.48055, 0.342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.06649, 0.33495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.39928, 0.32857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.2843, 0.32298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.67241, 0.31823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.61699, 0.31425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.19801, 0.31099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.46258, 0.30838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.41882, 0.30633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.0836, 0.30473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.5463, 0.30347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.99354, 0.30246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.66106, 0.30166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.26883, 0.30109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.7602, 0.30078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.94698, 0.30077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.07214, 0.30103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.3772, 0.30151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 2.0019, 0.30214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.94545, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.1027, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.34143, 0.30405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.5647, 0.30457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.72204, 0.30504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.77972, 0.30547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.6903, 0.30588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.39348, 0.30631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.84683, 0.30682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.05774, 0.30746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.35031, 0.30702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.33411, 0.30792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.21319, 0.30896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.08504, 0.31011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.00803, 0.31136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 9.99011, 0.31266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.00012, 0.31399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98952, 0.31531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.9138, 0.3166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.7494, 0.31785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.50429, 0.31907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.21677, 0.32024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.93507, 0.32135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.67885, 0.32244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.39959, 0.32358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.96534, 0.32489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.18512, 0.32652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.86481, 0.32859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.87072, 0.33108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.17745, 0.33381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.11332, 0.33644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.78808, 0.33862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.56523, 0.34017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.14996, 0.34112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.28014, 0.34178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.75374, 0.34255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.44038, 0.34381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28383, 0.34576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.29908, 0.34837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.56387, 0.35133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.20442, 0.35416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.37639, 0.3563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.24488, 0.35736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.96623, 0.35719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.67152, 0.35596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.45259, 0.35402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.35786, 0.35172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.40803, 0.34928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.63309, 0.34671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.11347, 0.3439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.00617, 0.34073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.55594, 0.33714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.42395, 0.33318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.36256, 0.32897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.6123, 0.32464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.02451, 0.32035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.29723, 0.31625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.22827, 0.31247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.75401, 0.30909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.91373, 0.30615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.77371, 0.30367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.3656, 0.30164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.67957, 0.30004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.7129, 0.29884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.5349, 0.29798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.31423, 0.2974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.2754, 0.29706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.40027, 0.29695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.6706, 0.29707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.66394, 0.29741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.62372, 0.29794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.79615, 0.29864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.32441, 0.29946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.20639, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.33102, 0.30121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.55839, 0.30205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.78518, 0.30283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95734, 0.30357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.03867, 0.30425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.97682, 0.3049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.70214, 0.30555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.16041, 0.30624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.35031, 0.30702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.84082, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.81412, 0.30925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.65749, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.48424, 0.31152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.37091, 0.31272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.33807, 0.31392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.35685, 0.31509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37144, 0.31619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.32618, 0.31721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.18884, 0.31816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.96371, 0.31903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.68747, 0.31984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.40349, 0.32061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.12109, 0.32139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.78033, 0.32227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.24568, 0.3234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.33756, 0.3249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.8892, 0.32681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.80425, 0.32906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.094, 0.3314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.11687, 0.33348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.61484, 0.33497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.13954, 0.3357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.42506, 0.33573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.23074, 0.33533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.36292, 0.33487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.69228, 0.33466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.16547, 0.33491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.80758, 0.33561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.71425, 0.33654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -17.03564, 0.33738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.95608, 0.33778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.67188, 0.33745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.36641, 0.33635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.18218, 0.3346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.19681, 0.3325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.41712, 0.33031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.80313, 0.32822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.31874, 0.32627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.01259, 0.32439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.08109, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.71997, 0.32043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.78658, 0.31823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.25275, 0.31585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.24828, 0.31334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.97452, 0.31073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.1391, 0.3081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04813, 0.30555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.63185, 0.30316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.92056, 0.301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.97177, 0.2991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.80798, 0.29751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.40801, 0.29623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.75391, 0.2953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.89512, 0.29468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97759, 0.29435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.20624, 0.2943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.24704, 0.29448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.33757, 0.29487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.18461, 0.29544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), 0.02317, 0.29617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.09561, 0.29703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.54571, 0.29801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.37462, 0.29907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.47427, 0.30019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.70485, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.95973, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17978, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.3232, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.33052, 0.30539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.12169, 0.30631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.62942, 0.30724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.84082, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.44781, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.4635, 0.31206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.31767, 0.31326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.13717, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.01732, 0.31556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 8.99359, 0.31661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.04137, 0.31755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09817, 0.31837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.09623, 0.31907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.99271, 0.31965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.78586, 0.32014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.50842, 0.32056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.19754, 0.32098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.85328, 0.32146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.40855, 0.32213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.73074, 0.32311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.65841, 0.3245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 4.0568, 0.32629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.86818, 0.32833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.86222, 0.33035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -3.99217, 0.332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.31262, 0.33296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.58448, 0.3331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.56709, 0.33247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.03894, 0.3313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.81937, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79231, 0.32862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.92296, 0.3276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.25897, 0.3269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.91652, 0.32643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -15.05893, 0.32597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.87583, 0.32534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.56507, 0.32436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.31134, 0.32298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.25691, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.47183, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.94295, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.59755, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.35889, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.79021, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.7716, 0.3119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.43176, 0.31069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.61676, 0.30943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.2642, 0.30808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45761, 0.30661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.40651, 0.305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64012, 0.30329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.49507, 0.30153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.08717, 0.29981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.4419, 0.29819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.61347, 0.29671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.62278, 0.29542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.44556, 0.29436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.05503, 0.29357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.48313, 0.29308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85066, 0.29289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.33637, 0.29298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.09457, 0.29331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.16719, 0.29386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.44502, 0.29457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.70799, 0.29542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.72484, 0.2964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.35372, 0.29752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.41373, 0.29878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.48048, 0.30013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.7143, 0.30155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 4.00871, 0.30299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29888, 0.30441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.53517, 0.30579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.64967, 0.30711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.55178, 0.30838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.1603, 0.30962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.44781, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.0783, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.20231, 0.31606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.1309, 0.3174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 8.99871, 0.3186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.91726, 0.31964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.93732, 0.32051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.04073, 0.3212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.16052, 0.32171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.21773, 0.32206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.15775, 0.32228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.96975, 0.3224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.67922, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.31563, 0.32259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.87182, 0.32283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.27894, 0.32332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.41403, 0.32418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.13917, 0.32546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.35405, 0.32711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 1.03883, 0.32893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.73015, 0.33063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.79542, 0.33188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -7.95143, 0.33242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -10.97593, 0.33211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.65004, 0.331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.7746, 0.32929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.19326, 0.32727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.81855, 0.32521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.64673, 0.32332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.75201, 0.32168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.2644, 0.32028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.34455, 0.31904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.16665, 0.31783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.90953, 0.31656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.74429, 0.31517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.80835, 0.31366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.17193, 0.31213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.81956, 0.31065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.6674, 0.30932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.38252, 0.30818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.37534, 0.30721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.26082, 0.30639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.90439, 0.30566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.15363, 0.30494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.92711, 0.30419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.27447, 0.30333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.36897, 0.30232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.43316, 0.30116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.35731, 0.2999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.93147, 0.29861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.31166, 0.29733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.5522, 0.29612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.67864, 0.29502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.67166, 0.29409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50283, 0.29338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19069, 0.29293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.83088, 0.29278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.57198, 0.29291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.54456, 0.2933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.78241, 0.29391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.18519, 0.29468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.55094, 0.29559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.66405, 0.29665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.38634, 0.29788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.69958, 0.29929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.31603, 0.30087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.54161, 0.30259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.87413, 0.30438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.24333, 0.3062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.59089, 0.30799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.84063, 0.30974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.89286, 0.31143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.65341, 0.31306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.0783, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.6394, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.94331, 0.32085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.02241, 0.32237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.00959, 0.32362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.02524, 0.32458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.13259, 0.32527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.3214, 0.3257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.52436, 0.32592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.65514, 0.32597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.64847, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.48241, 0.32574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.17167, 0.32558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.73614, 0.32549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.16306, 0.32558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.3864, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.29798, 0.32676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.78657, 0.32795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.78664, 0.32943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.31447, 0.33099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.52417, 0.33233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.55531, 0.33316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.57163, 0.33325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.36141, 0.33253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.72601, 0.33104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.4957, 0.32896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.5519, 0.32653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.84896, 0.324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.42044, 0.32156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.36381, 0.31935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.81216, 0.31739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.90972, 0.31569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.80248, 0.31419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.64024, 0.31281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.57392, 0.31148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.73421, 0.31018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.19613, 0.30893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.95304, 0.30775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.07475, 0.30669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 0.99163, 0.3058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.86032, 0.30507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.65485, 0.30451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.26313, 0.30407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.54335, 0.30369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.40626, 0.30331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.87699, 0.30283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.09747, 0.30219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.26457, 0.30137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.54134, 0.3004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), -0.00208, 0.29934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.38477, 0.29825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.6619, 0.29719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.86698, 0.29619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.99147, 0.2953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01184, 0.2946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.93819, 0.29414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.8429, 0.29395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.84314, 0.29406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.04188, 0.29444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.4603, 0.29503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.00396, 0.29579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.48883, 0.2967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.71625, 0.29778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.55258, 0.29907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -1.96877, 0.30059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.02574, 0.30235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.17408, 0.30431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.53331, 0.30641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.97721, 0.30859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43926, 0.3108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.83671, 0.31299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.0643, 0.31513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.01847, 0.31718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.6394, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.05721, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.60694, 0.32593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.91545, 0.32765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.10162, 0.32898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.28268, 0.3299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52703, 0.33044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.83195, 0.33067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.13476, 0.33066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.34839, 0.33051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.40126, 0.33027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.26055, 0.33001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.92787, 0.32978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.41148, 0.32967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.69331, 0.32978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.71251, 0.33022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.37801, 0.33103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.60584, 0.33217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.36381, 0.3335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.29767, 0.33477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.24344, 0.33568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.27933, 0.336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.18953, 0.33558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.76749, 0.33439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.83547, 0.33252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.2606, 0.33014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.97225, 0.32746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.97317, 0.32468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.33375, 0.32198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.16784, 0.31948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.60237, 0.31725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.75776, 0.31533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.74778, 0.31369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.69138, 0.31228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.7177, 0.31104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.94933, 0.30993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.4668, 0.30891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.27756, 0.30797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.68438, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.5187, 0.30646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.29689, 0.30593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.01358, 0.30556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.58141, 0.30534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.8762, 0.30521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.80985, 0.30508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.39014, 0.30486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.73068, 0.30444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.00157, 0.3038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.35058, 0.30297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.84547, 0.30201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.47093, 0.30098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.17229, 0.29995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.09187, 0.29896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.32626, 0.29806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.51668, 0.29732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.66932, 0.29679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.83649, 0.29654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.10477, 0.29657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.54782, 0.29687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.1706, 0.29739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.88049, 0.29808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.50835, 0.29893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.87118, 0.29996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.84014, 0.30122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.37647, 0.30276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.52277, 0.30459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.3653, 0.30669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), 0.00484, 0.309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.50931, 0.31146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.07481, 0.31399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61491, 0.31656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.02386, 0.31911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.19504, 0.32157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.05721, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.29769, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.14137, 0.33084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.7472, 0.33276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20811, 0.33418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.62368, 0.3351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.05649, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.50788, 0.33569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.92367, 0.3356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.22364, 0.3354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.33658, 0.3352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.22211, 0.33504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.86867, 0.33499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.27159, 0.33512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.40662, 0.33551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.21773, 0.3362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.63016, 0.33722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.5852, 0.33846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.08129, 0.33972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.79869, 0.3407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.8889, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -6.97037, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.81349, 0.33976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.21441, 0.33798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.01836, 0.33566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.13401, 0.33298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.5416, 0.33012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.29072, 0.32724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.48264, 0.32446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.24048, 0.32189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.6805, 0.31959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.89924, 0.31761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.98145, 0.31594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -6.01873, 0.31457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.11968, 0.31344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.39712, 0.3125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.93495, 0.31169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.24494, 0.31099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.19008, 0.31039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 1.98769, 0.30991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.71064, 0.30957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.37024, 0.30938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.90488, 0.30935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.21344, 0.30942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.21623, 0.30949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.90952, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.3801, 0.30917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.76835, 0.30861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.20189, 0.3078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.74269, 0.30681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.37892, 0.30574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.0588, 0.30465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.73585, 0.30359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.39326, 0.30261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.03453, 0.30179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.34571, 0.30117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.78295, 0.30082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.33513, 0.30075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.04621, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.90185, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.80651, 0.30188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.60122, 0.30258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.11596, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.22711, 0.30458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.88923, 0.30602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.13068, 0.30778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.02471, 0.30987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.65741, 0.31222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.11014, 0.31479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.53881, 0.3175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.20259, 0.32031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78055, 0.32314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.1707, 0.32591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.29769, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.38046, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.53986, 0.33533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.4858, 0.33738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.27745, 0.3389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.98419, 0.33989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.65114, 0.34041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.27762, 0.34059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.81873, 0.34061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.20648, 0.34061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.37664, 0.34068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.28623, 0.34092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.91305, 0.34135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.23986, 0.34204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.2351, 0.34302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.84539, 0.3443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 7.00902, 0.34582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.68865, 0.34739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.9101, 0.34874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.21234, 0.34952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.48005, 0.34944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.64553, 0.34842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.46289, 0.34652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.73165, 0.34396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.32241, 0.34103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.1857, 0.33794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.34833, 0.33487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.89832, 0.33193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.95873, 0.32917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.65629, 0.32665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.09675, 0.32442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.3583, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.50462, 0.3209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.60665, 0.31963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.75518, 0.31863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -2.05176, 0.31787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.57971, 0.31729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.62758, 0.31684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.59856, 0.3165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.40359, 0.31626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.111, 0.31615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.74455, 0.31617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.2678, 0.31633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.60596, 0.31658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.69329, 0.31681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.51908, 0.31688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.14402, 0.31667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.67494, 0.31611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.21308, 0.31524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.80941, 0.31415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.45406, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.10033, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.70108, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.23142, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.68599, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.0595, 0.3078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.66888, 0.30734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.53032, 0.30713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.53891, 0.30716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.65808, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.78431, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.76381, 0.30811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.43691, 0.3087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.68651, 0.30954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.46531, 0.31069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.79373, 0.31221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.73717, 0.31408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.37912, 0.31628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.8037, 0.31875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.09229, 0.32143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.67081, 0.32427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.39455, 0.32719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.98829, 0.33009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.38046, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.37676, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.84532, 0.33952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.13994, 0.34161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.28487, 0.34323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.31343, 0.34437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.24527, 0.34512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.07113, 0.34561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.75237, 0.34601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.23394, 0.3465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.46174, 0.34719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.39425, 0.34816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 13.00206, 0.34946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.25717, 0.3511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.12042, 0.35309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.53851, 0.35538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.4588, 0.3578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.86116, 0.36007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.79606, 0.36176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.59071, 0.36246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.06547, 0.36186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.35002, 0.35995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.18277, 0.35699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.36958, 0.3534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.80812, 0.3496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.48751, 0.3459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.47223, 0.34246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.87714, 0.33936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.8374, 0.33659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.4793, 0.33415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.90095, 0.33204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.17021, 0.33025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.33946, 0.32879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.46686, 0.32768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.62913, 0.32687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.91559, 0.32634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.40469, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.86354, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.901, 0.32586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.75994, 0.32593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.50007, 0.32609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.15295, 0.32637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.70463, 0.32673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.10703, 0.32715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.3111, 0.32749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.30222, 0.32763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.11562, 0.32742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.82151, 0.32682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.48889, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.15199, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.79992, 0.32325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.3921, 0.32187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.88498, 0.32057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.25098, 0.31939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.48023, 0.31838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.56948, 0.31757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.48753, 0.31699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.69553, 0.31663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.03768, 0.31642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.45189, 0.31631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.82185, 0.31624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -6.99471, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.82003, 0.31632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.1901, 0.31665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.06208, 0.31729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.45579, 0.31833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.43459, 0.31976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.08201, 0.32157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.48457, 0.32371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.7248, 0.32613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.11764, 0.32876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.96363, 0.33154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.73745, 0.33434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.37676, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.3876, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.13555, 0.34408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.75368, 0.34615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.23683, 0.3479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.58483, 0.34933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.79064, 0.35052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.8321, 0.3516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.67148, 0.35275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.26232, 0.35413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.55866, 0.35585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.52077, 0.35801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.11386, 0.36064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.30079, 0.36376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 12.0348, 0.36733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.26078, 0.3712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.93204, 0.37509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 5.04311, 0.37854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.66876, 0.38094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.01145, 0.38169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.72554, 0.38048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.16378, 0.37743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.05183, 0.37303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.20615, 0.36799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.5526, 0.36292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.11402, 0.35823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.98279, 0.35411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.28962, 0.35059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.17374, 0.34764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.75848, 0.34518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.13757, 0.34313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.37596, 0.34148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.52341, 0.3402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.63254, 0.33929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.76999, 0.33873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -2.01279, 0.33849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.43104, 0.33852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 0.9338, 0.33875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.08158, 0.33911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.0479, 0.33955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.88155, 0.34006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.61704, 0.34061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.25777, 0.34119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.7789, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.14736, 0.34217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.34574, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.38515, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.29856, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.11955, 0.34042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.86084, 0.33912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.50647, 0.33771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.02084, 0.3363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.36628, 0.33498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51744, 0.33381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.46535, 0.33281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.21313, 0.33199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.22798, 0.33131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.8339, 0.33073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.55369, 0.33016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.29548, 0.32953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.92597, 0.3288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.29097, 0.32802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.25043, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.71098, 0.32678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.64147, 0.32661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.06847, 0.32688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.05852, 0.3276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.69725, 0.32876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.07278, 0.33033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.2671, 0.33223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.35424, 0.33442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.59834, 0.3368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.5295, 0.33929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.3876, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.50754, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.49202, 0.35038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.38557, 0.35244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.16301, 0.35441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.79972, 0.35631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.26704, 0.35821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.52953, 0.36025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.54539, 0.36258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.26972, 0.36533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.65833, 0.36866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.66931, 0.37264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.26059, 0.37732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.38496, 0.38271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.9867, 0.3887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 11.0067, 0.39505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.40224, 0.40128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.18264, 0.40663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.4508, 0.41018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.57303, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57236, 0.40901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.20459, 0.40425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.18684, 0.39771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.35167, 0.39048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.65479, 0.38342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.14886, 0.3771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.94669, 0.37174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.18718, 0.36736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -15.00862, 0.36385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.53032, 0.36108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.84409, 0.35892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -10.01669, 0.3573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.10072, 0.35615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.1482, 0.35544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.21891, 0.35516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.37846, 0.35525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.68659, 0.35565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.81816, 0.3563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.12853, 0.35709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.26652, 0.35795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.26921, 0.35883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.1691, 0.35968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 5.97947, 0.36047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.69162, 0.36115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.28395, 0.36162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.73572, 0.36181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.03642, 0.36163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.18496, 0.36107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.18039, 0.3602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.01141, 0.35912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.65245, 0.35797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.06877, 0.35688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.22745, 0.3559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.10763, 0.35507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.70607, 0.35435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.03812, 0.35368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.1387, 0.35295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.93288, 0.35205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.08502, 0.35086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.19028, 0.34931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.09496, 0.34742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.64386, 0.34532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.71146, 0.34323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.2255, 0.34137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.17413, 0.33994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.59709, 0.33905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.56815, 0.33872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.17606, 0.33894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.50965, 0.33966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.64905, 0.34081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.6629, 0.34233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.60935, 0.34414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.46174, 0.34615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.50754, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.78996, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.9669, 0.36064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.08137, 0.36282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.09796, 0.36521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.9785, 0.36784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.68104, 0.37082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.1599, 0.37426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.36666, 0.37832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.25167, 0.38316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.765, 0.38891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.85558, 0.3957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.46844, 0.40359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.54131, 0.41257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 14.00451, 0.42245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.79015, 0.4328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.85677, 0.44281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.23082, 0.45124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.05288, 0.45658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40128, 0.45759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.75745, 0.4539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.63577, 0.44625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.74957, 0.43619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.95523, 0.42538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.24275, 0.41507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.69423, 0.40601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.43957, 0.39846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.62267, 0.3924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.37932, 0.38768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.82501, 0.38407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -13.05088, 0.3814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.12695, 0.37951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.11024, 0.37829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -7.05381, 0.37766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -5.01236, 0.37756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -3.04124, 0.37793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.18944, 0.37868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.51003, 0.3797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.04675, 0.3809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.43239, 0.38215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.69216, 0.38338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.85178, 0.38452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.9258, 0.38552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.91214, 0.38635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.79389, 0.38696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.54556, 0.38734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.13898, 0.38746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.54556, 0.38737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.73475, 0.38715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.67138, 0.38691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.31547, 0.38676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.62625, 0.38676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.5697, 0.38694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.12717, 0.38721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.30312, 0.38741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.13124, 0.38732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.67953, 0.38669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -1.94581, 0.38529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.60098, 0.38295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.11466, 0.37969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.31016, 0.37569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.03454, 0.37131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.18392, 0.36694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.71534, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.64345, 0.35956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.02634, 0.35693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.94761, 0.35507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.49968, 0.35397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.77127, 0.35353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.84012, 0.3537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.77056, 0.35437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.61467, 0.35546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.58459, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.78996, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.22919, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.56322, 0.37841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.85279, 0.38096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 9.05964, 0.3841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.14099, 0.3879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 13.04954, 0.39249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.73388, 0.39802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.13926, 0.40467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.20785, 0.41265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.87819, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.08315, 0.4334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.74704, 0.44646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.78366, 0.46134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.09928, 0.47774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.60706, 0.4949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.26028, 0.51135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.10542, 0.52489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.33778, 0.53296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.68347, 0.5336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.50099, 0.52657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.68812, 0.51351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.96133, 0.49717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.21396, 0.48016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.48049, 0.46431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.87725, 0.45056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.55289, 0.43918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.65705, 0.43008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.32411, 0.42301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.66666, 0.41765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.77518, 0.4137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.72176, 0.41094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.56604, 0.40917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.36096, 0.40824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.1562, 0.40803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.99795, 0.40843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.92527, 0.4093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.03482, 0.41051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.87086, 0.41194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.58633, 0.41346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.19461, 0.41496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.71064, 0.41636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.14252, 0.41765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.4858, 0.41881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.7218, 0.41987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.8192, 0.42087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.73713, 0.4219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.42779, 0.42307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.83818, 0.42448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.91124, 0.42627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.58811, 0.4285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.81258, 0.43118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53856, 0.43418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.7407, 0.4372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.42733, 0.43978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.65403, 0.44134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.53383, 0.44126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.76185, 0.43906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.0179, 0.4346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.00634, 0.42815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.52484, 0.42033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.42864, 0.41193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.64504, 0.40368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.16941, 0.39615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.04938, 0.38967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.36533, 0.38438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.21251, 0.38028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.68738, 0.37727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.87838, 0.37526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.86105, 0.37411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.69685, 0.37374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.43475, 0.37403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.11453, 0.37494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.22919, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.76108, 0.40747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.23041, 0.40979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.66581, 0.41314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 9.03004, 0.41759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.28106, 0.42328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.37141, 0.43038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.2479, 0.43913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.85121, 0.44981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.11486, 0.46274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.9631, 0.47828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.30785, 0.49676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 19.0451, 0.51846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 18.05352, 0.54343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.19999, 0.57119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.36113, 0.6004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.47161, 0.62829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.60095, 0.65064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.97101, 0.66267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.75118, 0.6612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.15578, 0.64661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.70016, 0.62273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -20.12154, 0.59465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.37586, 0.5666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.56117, 0.54114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.8385, 0.51935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.38015, 0.50141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.34423, 0.48704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.86542, 0.47577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -19.05391, 0.4671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.99821, 0.4606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.76959, 0.45589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.42676, 0.45266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -10.01979, 0.45065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.59252, 0.44967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.18291, 0.44951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.82195, 0.45001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.5318, 0.451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.67509, 0.45234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.79511, 0.45389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.83009, 0.45556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.78237, 0.45729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.64927, 0.4591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.41866, 0.46102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.06645, 0.46317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.55591, 0.46568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.83853, 0.46874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.85525, 0.47255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.53785, 0.47731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.81033, 0.48322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.59125, 0.49034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.79836, 0.49863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.35759, 0.50776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.21875, 0.51702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.37879, 0.5253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.9098, 0.53114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.98053, 0.53302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.14607, 0.52988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.15167, 0.52165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.72865, 0.50926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.64275, 0.49437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.76421, 0.47871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.06282, 0.46367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.58194, 0.45014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.40851, 0.43853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.64871, 0.42895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.41137, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.798, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.89744, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.78394, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.51748, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.14598, 0.40575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.70849, 0.40612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.76108, 0.40747 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.60694, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.62376, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.65553, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.70297, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.76534, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.8403, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.92293, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -65.0044, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.0711, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.10478, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.08403, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.98696, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.79483, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.49607, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.09087, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.59558, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.04669, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.50304, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04512, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.77012, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.78193, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.17618, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.02274, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.34961, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.13397, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.30411, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.75235, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.35424, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -54.98768, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.54676, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.94818, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.13137, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.05526, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.69524, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.04274, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.10825, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.92592, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.55681, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.08776, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.62363, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.27342, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.13337, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.27256, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.72532, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.49171, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.544, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.83586, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.31169, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.91458, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.59204, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.29918, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -70.99922, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.66142, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.25745, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.75725, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.1261, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.32391, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.30805, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.0398, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.49353, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.66476, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.57206, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.25083, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.74294, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.08828, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.32076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.4679, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55215, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59245, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60522, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.60466, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.60238, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.60694, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.20462, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.22458, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.25231, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.28864, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.33375, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.38795, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.45091, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.51962, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.58631, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.6372, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.65275, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.60904, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.48053, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.24408, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.88511, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.40557, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.83281, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22668, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68224, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.32511, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.29781, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.73705, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.74512, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.3632, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.55698, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.22226, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.20924, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.35513, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.51243, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.56498, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.43043, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.05256, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.38978, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.40627, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.07065, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.36347, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.28999, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.89268, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.25751, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.51013, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.79977, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.27332, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.04791, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.19241, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.72301, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61087, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.79592, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.20161, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.7478, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.36024, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -68.97601, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.54443, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.02414, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.3781, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.56958, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.56224, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.32556, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.84338, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.11998, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.17881, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05363, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.77786, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.37763, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.87053, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.26792, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.57833, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.80996, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.97235, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.07718, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.13833, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17087, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18914, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.20462, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.4005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.4074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.41686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.42775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.43858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.45021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.46597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.48933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.5207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.55477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.5789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.57233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.5064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.34702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.06171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.63183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.81515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.33487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.83623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.0307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -41.96963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.59822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.76876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.28207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -50.93707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.56823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.06151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.34999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.39602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.16912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.62925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.72291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.39413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.6056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.36119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.72147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.80758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.79043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.86303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.20132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.92861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.09797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.65442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.88106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.27037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.72396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.15912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.51102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.72906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.77093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.59989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.18887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.64117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.56425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.35068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.77049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.22009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.59391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.88823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.10434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.24891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.33402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.37615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.4005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.03016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.00767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.98225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.94804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.90348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.8532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.80595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.77064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.75246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.74938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.74827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.72117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.62468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.40704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.47074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.11063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.61688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.54563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.13051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.54376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.8407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -39.93606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.62934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.66751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.81217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.88406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.77668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.44418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.87356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.05259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -63.94575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.48694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.59178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.18423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.22667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.74198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.8231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.6307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.37548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.28052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.53246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.24267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.43378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.05141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -62.99067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.12619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.33743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.5242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.61055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.53946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.26526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.98197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.96686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.75289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.40914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -69.00526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.58994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.18049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.32201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.82056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.24247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.57724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.82185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.97991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.06232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.08739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.07781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.9334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.86451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.79457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.71092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.60638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.48361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.35394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.23314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.13669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.07453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.04372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.01954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.95064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.76599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.8192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.30546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.74093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.66773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.36843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.04407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.74536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.34906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.5985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.18714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.8402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.36321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.65242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.67676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.44283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -60.95621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.19203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.08485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.54015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.46212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.78679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.50685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.68253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.44328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.98304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.53867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.34427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.57498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.30789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.10239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.92487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.84922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.76403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.58695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.25588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.93422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.8847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.59399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.13009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.58676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.05138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.16572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.7875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.39197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.93497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.38862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.74032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -59.9866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.1298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.17995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.15748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.09122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.11168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.95606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.82381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.70203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.56947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.41016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.22119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -41.01297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.80511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.6213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.48252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.39588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.34023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.25664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.05597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.14961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.27497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.64697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.60132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.46033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.4416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.58275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.72287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.55654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.73116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -41.93648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -45.95482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.67053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.05038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.85776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.29253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.36061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -64.97921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.05829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.53081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.37602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.63029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.39109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.82074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.14162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.60513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.43213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.75208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.57605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.33163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.98209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.6528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.26006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.01984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.05328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.81119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.32203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.98433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.36476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.87186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.49711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.84642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.43115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.90139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.24665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.46661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.56411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.54848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.44266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.28352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.11168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.22396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.95805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.74237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.56124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.38354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.18161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.94336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.67465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.39567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.13535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.92294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.77303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.66578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.27309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.78068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.0722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.41431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.44339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.50204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.80739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.38039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.03553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.43972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.20946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -36.99972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.55642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.73067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.46481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.76049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.63977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.1117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.15539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.72251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.75412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.20171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.29928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -61.03594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.38669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.5538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.78858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.33451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.35502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.88897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.86113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.13487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.57059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.5205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.88458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.07365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -55.01181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.65774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.03956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.26249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.47605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.8149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.34477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.04217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.55926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.18765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.66358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -48.98194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.14855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.16819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.04995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.82002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.52585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.22396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.26942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.86065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.54112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.29431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.07852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.85166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.28864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.96862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.66053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.39855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.20048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.04389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.85238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.51067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.91349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.96183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.94329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.32205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.48377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.76456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.36493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.29439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.36814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.25682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.56674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -30.91991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.01176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.63886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.69866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.16767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.06772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.43246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.28523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.6316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.46234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.75993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.70189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.38145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.65068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.6973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.77392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.13827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.97218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.32708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.13119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.24817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.54317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.91741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.30092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.62282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.79156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.70864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.31332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.62955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.77888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.94159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.2815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.87467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.68178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.41912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.10042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.57953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.85829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.95045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.86389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.60806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.21367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.74172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.26942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.2801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.70496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.26843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.95572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.71459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.48633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.23034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.93417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.61197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.29643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -12.02395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.81135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.62994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.3948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.9873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.31183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.27172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.69877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.19493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.84822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.3545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.53899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.60832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -6.93136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.13634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -17.8423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.64541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.18404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.18757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.49685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.05567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.88314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.04054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.60296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.63884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.19533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.28857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -49.01757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.63049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.81922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.76036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.71386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.95411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.67659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.93533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.65209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.68445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.90066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.21459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.56999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.89991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.10177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.05543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.67943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.9906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.12353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.28722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.67442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.37221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.32582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.3759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.34149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.0949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.58826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.82977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.84119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.63399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.21884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.63252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.95227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.2801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.45279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.7117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.79671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.55144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.35102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.13662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.88299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.59921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.31833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.07746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.89007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.27951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.52081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.94657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.6321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.55297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.55382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.36374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.64997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.4182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.49575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.29844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.93622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.35308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.22159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.25638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.04921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.26712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.69564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.24462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -36.92698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.82657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.06504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.76931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.0396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.92374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.41001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.45, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -38.01116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.14011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -34.00234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.86611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -30.02323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.68158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.89469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.57379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.56658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.74177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -28.0253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.37679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.73772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -29.00014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -29.02722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.71913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.08383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.26335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.48792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.97318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.81521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.94649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.2969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.15258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.68969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.91954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.86973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.55504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -20.9883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.21357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.32559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.45279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.17145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.30093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.67039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.27779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.94383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.08623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.22665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.40442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.61665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.83067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.00925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.14175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.26746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.47327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.85701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.46827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.25685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.0564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.61105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.62981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.84417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 20.04892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 18.12082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 15.02538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.82698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.70568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.03605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.00078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.76395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -16.95664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.32526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.74973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.22952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.85615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.7805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.17323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.17871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.8738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.25133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.24419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.78912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.90503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.74405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.57671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.70475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.34337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.21295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.18708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.33583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.59502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.93979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.32427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.64369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.75452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.54563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -17.01631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.30783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.65772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.29131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.30863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.63489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.36027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.35605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -15.98518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.2563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.19835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.82802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.16092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.24854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.20139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.17145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.04831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.97649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.6362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.01862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.19041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.25335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.29993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.38294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.50683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.64077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.74763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.81699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.88543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.02873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.3233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.79339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.37216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.89782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.14529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.87542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.87847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.9973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.13213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.24272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.36349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.63046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.29922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.72783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.68316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.57058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.67078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.84385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.06847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.4245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.0682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.19289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.97382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.51307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.81234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.79494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.37608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.55137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.45536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.34822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.52593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.20042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.42264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.09526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.05788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.1808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.40659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.72266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.09828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.44204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.61817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.51601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.12873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.58725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.11785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.93741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.14246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.65861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.27938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.76488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.93636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.71563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.10155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.11806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.7812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.10898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.84153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.94971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.04831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.69569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.59095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.21788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.55481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.66099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.63961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.59174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.58072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.61891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.67944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.72595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.74524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.76473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.84221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.02979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.66937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.90083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.83684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.28967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.1025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.16063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.3895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.75605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.28581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 23.09018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.38364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.4695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.69024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.3627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.72772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.07162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -3.99246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.08864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.49935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.41697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.0296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.71419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.7269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.40246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.28004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.20886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.15032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.83337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.06181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.78662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.09685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.14283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.04811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.86662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.60429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.27749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 6.95608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.75347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.76629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.0028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.3504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.61127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.59436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.21396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.53698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.08761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.7204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.74095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.16606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.98313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.18025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.73879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.60018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.64258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.69569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.40953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.1838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.72017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 27.98411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.02127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.92677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.80141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.71393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.68399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.69068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.69977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.69368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.68662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.71492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.80661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.06277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.02545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.68384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.8948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.54546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.55823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.88683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.51786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.48547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.89201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.91769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.80547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.82241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.21491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.17714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.83763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.25268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.39785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.16498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.38338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.87213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.50519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.25379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.1774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.36221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.83743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.51762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.20904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.6813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.76385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.4102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.74649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.68012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.54709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.35258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.10246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.84237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.65449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.61118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.7169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.88033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.9416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.74568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.22251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.4278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.70597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.14668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.94253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.12793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.70554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.67068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 18.00672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.65868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.5131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.40953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.04433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.62662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.02548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.19661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.16878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.02121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.84531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.70854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.63541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.61186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.60743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.60059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.59179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.59609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.61992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.63613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.57243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.32014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.75791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.77786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.30196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.28488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.71049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.59232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.98238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.98167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.74081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.44439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.28364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.43079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 23.02546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.17018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.9232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.28295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.17526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.46342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.99001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.63526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.35905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.19968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.22574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.46674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.86282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.2658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.49366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.40711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 29.96344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.27772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.23976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.1542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.02894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.86423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.68446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.53982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.47497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.48672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.50277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.4009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.06326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.43691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.56656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.65124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.92443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.50229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.43407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.73755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.41643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.45826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.81572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.39115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.04433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.64315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.98553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.21265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.27628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.00944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.81207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.65592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.56609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.53435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.53499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.54441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.55166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.55392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.47335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.28458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.88018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.16187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.04807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.48755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.46256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.98569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.09787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.86952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.4011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.81682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.2504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.82838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.65977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.83506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.42811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.48996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 30.03167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 30.00758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.31709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.45509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.13291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.88447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.75608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.77164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.89224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.01294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 37.99991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.74657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.2161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.44668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.51985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.51482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.47721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.41793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.33513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.23755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.14869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.08806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.04347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.95665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.73661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.29765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.60279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.68859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.65819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.6485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.79033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.18111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.87911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.91343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.29495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 34.0161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.03923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.28616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.64315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.44827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.48415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.43061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.2878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.09297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.89904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.75057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.66804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.64606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.66336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.69618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.72614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.73759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.70684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.5909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.32346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.82242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 59.00627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.81251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.21038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.2045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.83149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.15422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.2561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.23414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.18932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.21538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.39087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.77868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.43207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.39957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.72034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.40893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.43909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.74117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.22101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.79344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.41162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.07457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.80731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.62534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.50479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.37686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.15048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.7502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.14721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.36593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.4645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.50305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.51972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.52616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.51968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.49865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.46717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.42519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.3524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.19998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.90024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.39279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.65458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.71756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.60754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.65761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.90497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.4104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.20889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.31585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.72799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.41746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.32601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.1038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.93062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.73413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.53281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.35732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.23446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.17569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.17473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.21293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.26743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.33541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.29453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.14713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.83012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.27026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.39844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.1664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.55899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.59781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.33646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.85127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.23073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.56481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.93497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.40664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 51.02717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.83034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.84477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.09945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.62068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.42038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.48303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.76169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.69849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.24731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.82284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.43339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.08622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.76736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.43567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.03497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.51709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.86235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.08552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.22484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.32186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.40459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.48205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.54996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.59976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.6225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.60466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.52003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.3264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 53.97323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.4197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.65486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.70932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.65216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.57248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.72393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.08737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.69866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.57499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.71638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.10395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.6977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.34757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.06082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.81053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.60109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.4441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.34912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.31682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.51352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.52991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.47308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.2963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.94021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.33923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.43443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.18905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.60008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.70085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.55447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.8497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.45779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.13207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.91971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.85034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.94199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.20891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.6665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.32952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.20438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.27998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.52416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.88947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.32651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.79809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.2863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.78867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.30634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.83169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.34335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.81134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.2094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.52665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.77176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.96728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.13802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.30036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.45765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.60213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.71971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.79284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.79943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.71012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.48838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.09722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.51172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.73193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.78951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.74444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.75646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.03038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.50949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.21076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.13681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.0672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.27193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.29919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.35504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.41713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.46079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.45745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.3714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.15696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.75898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.11905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.18758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.93809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.3773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.54592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.51018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.34892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.14098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.9555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.84601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.84854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.98388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.26294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.69271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.27995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.03057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.94514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.01354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.21252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.50865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.86594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.25447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.65574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.06219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.4717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.88087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.28133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.66102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.00932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.32247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.60551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.86948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.12537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.37806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.62325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.84782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.0323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.15293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.18256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.0911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.84805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.42841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.82122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.03686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.10954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.09312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.05209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.0511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.7409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.47105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.29018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.18714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.14751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.15347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.18444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.21758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.22754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.18481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.05336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.78892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.34028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.65568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.69436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.43949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.90604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.13894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.2031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.17071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.11042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.08015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.12353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.26959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.53503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.9281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.45264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.11061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.90212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.82344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.86435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.22791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.50124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.80456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.12208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.44548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.77194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.10091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.43165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.76268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.09287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.42296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.75575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.09445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.4397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.78651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.1226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.42854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.67918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.84578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.89811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.80721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.54924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.11065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.49327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.71713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.81938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.8494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.86167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.90871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.2772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.65728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.18995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.88134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.44983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.2327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.79693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.46493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.22564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.06559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.96874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.9167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.88896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.86283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.81275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.70874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.51461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.1871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.67798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.94102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.94347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.67758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.16557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.45468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.60598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.68284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.74273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.83278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.98822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.23288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.58107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.04006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.61259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.29845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.09491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.99617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.21301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.40283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.62428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.86584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.12099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.38777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.66741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.96275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.27713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.61372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.97502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.36211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.77326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.20233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.63719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.05899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.44237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.75681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.96917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.04715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.96375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.70204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.25929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.64885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.89904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.04939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.14536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.23295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.35429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.54475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.83159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.23403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.76433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.4292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.23133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.57782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.3874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.87581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.46182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.13523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.88361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.69239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.54495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.42257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.30404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.16471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.97502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.69903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.29413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.71392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.91625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.87535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.59211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.09541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.43364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.66258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.83589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.99978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.19116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.43758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.75813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.16484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.66424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.25875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.94771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.72789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.59368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.54843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.61638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.72988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.87924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.0573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.2602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.48728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.74053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.02364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.34088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.69607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.09143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.52644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 75.99662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.4923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 76.99761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.48987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.93981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.31287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.57225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.68373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.62192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.37592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.95228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.37377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.67495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.89637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.0795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.26298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.48037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.11993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.57832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.14447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.82481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.62299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.54063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.57782, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58487.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57350.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56201, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55046.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53893.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52743.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51596.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50446.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49280.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48083.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46838.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45527.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44137.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42662.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41107.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39485.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37819.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36144.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34497.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32924.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31469, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30169.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29055.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28142.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27427.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26892.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26506.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26229, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 26020.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25846.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25682.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25519.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25356.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25207.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25099.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25064.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25147.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25394.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25853.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26565.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27559.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28847.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30425.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32272.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34354.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36628.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39044.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41552.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44104.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46654.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49164.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51597.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53921, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56104.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58116.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59928.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61515.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62857.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63941.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64766.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65335, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65659.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65755.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65642.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65340.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64869.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64249.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63500.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62642.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61693.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60673.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59599.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58487.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56319.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55127.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53926.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52726.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51532.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50349.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49177.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 48012, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46842.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45653.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44424.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43136.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41772.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40322.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38787.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37175.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35508.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33819.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32151.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30557.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29089.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27799.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26727.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25894.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25299.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24916.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24701.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24601.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24562.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24539.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24503.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24438.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24343.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24226.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24112.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 24033.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24037.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24181.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24529.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25141.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26065.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27327, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28927.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30843.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33033.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35440.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 37999.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40646.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43318.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 45962.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48534.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 50997.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53321.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55477.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57438.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59178.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60674.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61911.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62883.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63592.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64049.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64270.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64272.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64074.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63696.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63155.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62468.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61654.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60730.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59716.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58630.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57492.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56319.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53966.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52745.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51519.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50297, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49082.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47881.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46696.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45524.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44360.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43190, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41994.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40755.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39453.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38076.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36616.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35078.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33477.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31841.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30214.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28652.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27219.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25977.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24978, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24248.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23788, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23563.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23519.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23590.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23713, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23839.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23938.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23993.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 24000.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23964.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23896.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23820.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23779.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23832.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24055, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24526.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25318.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26477, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28018, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29923, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32145, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34616, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37255.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 39981.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42715.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45394.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 47966.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50395.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52653.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54713.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56552.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58149.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59487, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60559.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61370.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61932.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62263.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62380.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62301.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62042.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61616.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61036.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60317.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59471.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58515.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57466.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56344.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55171.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53966.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51456.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50233.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 49008, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47787.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46574.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45374.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44190.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 43025.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41876.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40734.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39586.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38415.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37203.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35936.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34600.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33191.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31713.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30189.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28659.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27182.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25828.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24669.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23765.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23149.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22819.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22736.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22837.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23048.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23305.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23562.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23793.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23986.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24136.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24238.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24288.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24292.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24292.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24415.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24740.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25359.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26345.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27736.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29530.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31685.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34128, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36765, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39496.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42228.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44882.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47402.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49747, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51888.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53802.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55466.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56865.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 57990.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58850.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59462.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59854.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60050.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60069.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59925.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59624.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59173.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58579.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 57000, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56037.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54980.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53850, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52668, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51456.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48805.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47606.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46409.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45217.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44032.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42858, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41698, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40558.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39440.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38343, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37257.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36171.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35072.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33941.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32763, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31520.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30209.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28843.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27457.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26109.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24874.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23827.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23034.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22529.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22310.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22336.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22542.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22853.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23210.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23575.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23932.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24275.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24599.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24888.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25120.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25278.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25365, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25413.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25492.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25697.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26134, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26898, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28057.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29637.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31614.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33919.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36454.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39103.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41758.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44327.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46744.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 48965.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50957.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52694.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54152.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55319.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56197.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56812.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57203, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57412.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57474.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57405.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57209.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56882.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56421.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55827.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55106.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54266.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53319, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52277.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51162.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49996.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48805.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46040.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44894.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43754.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42623.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41497.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40378.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39273.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38187.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37128.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36098.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35095.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34113.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33143.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32167.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31164.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30110.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28993.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27816.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26609.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25428.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24342.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23428.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22748.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22338.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22200.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22295.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22562.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22937.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23366.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23821.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24295.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24789, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25294.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25788.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26229.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26579.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26816.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26953.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27043.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27171.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27444.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27972.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28851.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30138.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31839.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33903.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36232.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38707, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41204.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43624.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45891.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47954.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49776.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51322.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52563.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53487.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54108.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54470.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54635.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54665.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54602.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54458.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54223.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53880.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53415.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52827.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52120.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51304.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50387.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49382.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48306.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47184.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46040.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43222.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42159.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41109, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40069.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39036.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 38010.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36996.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 36002.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35037.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34107.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33214.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32358.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31532.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30721.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29901.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29045.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28134.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27165.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26161.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25169.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24251.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23475.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22898.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22557.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22458, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22576.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22864.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23268.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23747.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24277.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24854.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25480.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26815.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27442.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27971.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28362.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28609.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28745.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28838.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28985, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29299.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29894.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30857.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32225.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 33974.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36016.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38233.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40499.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42706.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44777, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46653.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48290.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49643.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50674.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51369.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51748.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51875.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51833.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51703.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51531.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51325.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51060.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50705.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50238.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49655.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48965.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48179.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47306.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46355.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45341.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44289.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43222.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40459.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39510.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38578.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37662.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36756.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35859.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34975.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34114.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33283.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32489.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31738.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31031.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30364.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29725.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29091.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28434.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27732.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26977.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26185.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25389.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24639.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23990, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23491, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23179.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23073.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23165, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23429, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23829.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24331.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24914.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25567.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26286.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27055.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27840.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28587.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29239.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29747.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30091.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30284.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30374.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30442.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30593.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30946.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31608.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32644.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34051.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35763, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37668, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39644.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41588.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43421.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45084.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46525.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47689.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48530.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49027.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49205.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49140.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48933.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48674.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48415.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48156.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47862.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47491.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47017.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46437, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45763.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45010.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44188.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42377, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41420.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40459.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37905.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37098.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36313.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35547.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34795.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34057.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33337.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32643.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31983.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31362.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30783.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30248.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29755.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29294.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28845, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28383.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27886.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27341.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26751.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26139, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25536.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24985.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24529.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24206.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24044.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24059.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24250, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24600.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25087, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25683, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26367.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27123.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27927.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28746, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29531.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30230.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30797.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31205, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31451, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31563.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31601.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31657.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31844.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32275.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33028.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34120.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35501.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37076.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38736.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40387, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41955.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43386.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44623.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45606.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46282.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46624.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46658.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46463.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46143.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45794.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45466.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45156.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44825, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44426.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43934.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43348.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42686.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41966.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41201.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40399.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39571.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38734.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37905.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35741.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35096, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34477.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33879.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33298.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32737.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32202.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31701.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31238.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30816.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30434.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30091.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29784.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29505.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29240.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28968.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28663.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28309.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27896.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27434.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26941.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26451.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 26000.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25627.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25371.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25264.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25332.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25580.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 25994.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26546.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27202.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27930.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28701.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29480.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30231, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30911.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31483.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31920.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32209.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32361.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32417.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32452.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32565.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32861.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33418.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34260.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35351.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36615.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37963.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39316.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40615.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41807.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42841, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43653.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44190.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44423.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44373.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44111.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43735.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43331.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42946.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42576, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42186.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41737.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41209, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40605.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39946.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39254.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38545.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37829.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37115.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36415.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35741.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34123.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33650.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33205.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32781.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32375.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31996, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31652.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31353.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31102.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30895, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30724.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30585.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30473.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30381.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30299.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30205.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30074.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29880, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29605.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29248.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28821.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28351.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27870.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27419.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27042.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26787.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26695.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26791.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27075.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27520.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28084.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28726.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29408.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30099.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30771.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31394.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31940, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32383.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32708.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32915.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33031.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33112.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33240.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33502.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33960, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34634, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35498.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36498.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37567.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38649.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39696.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40664.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41504.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42162.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42586.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42748.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42665.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42390, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42000, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41564.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41120.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40671, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40193.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39663.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39071.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38428.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37757.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37082.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36422, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35788, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35189.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34634.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34123.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33146.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32838.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32560.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32302.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32064.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31859.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31702.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31603.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31563.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31573.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31620.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31691.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31779.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31877.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31973.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32045.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32063.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31995.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31817, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31520.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31116, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30627.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30089.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29543.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29036.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28624.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28360.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28282.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28398.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28688.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29111.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29623.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30185.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30768.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31350.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31909.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32423.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32869.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33230.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33502.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33705.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33882.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34093.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34398.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34839.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35423.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36131.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36927.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37772.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38629.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39464.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40242.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40919.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41446.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41783.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41906.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41821.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41563.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41181.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40720.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40208.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39654.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39055.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38408, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37719.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37008.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36300.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35620.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34989.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34421.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33925.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33503.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33146.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32829.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32660.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32527.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32418.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32333.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32288.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32305, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32394.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32555.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32776.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33035.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33315.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33603.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33888.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34155.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34379.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34524.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34553.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34437.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34167, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33751.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33218.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32604.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31954.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31321.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30764.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30341.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30096, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30041.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30163.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30426.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30791.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31225, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31703.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32207.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32718.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33213.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33669.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34069.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34411.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34711.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35002.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35327.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35718.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36192, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36743.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37355.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38010.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38692.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39384.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40064.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40702.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41259.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41695.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 41976.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42083.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42014.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41782.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41409.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40915.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40320.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39640.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38892.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38095.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36464.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35686.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34970.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34338, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33805.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33380.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33060.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32829.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33132.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33062.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33043.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33057.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33107.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33208.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33382.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33644.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33991.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34406.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34864.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35342.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35821.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36284.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36711.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37071.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37325.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37431, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37357.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37094.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36651.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36060.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35362.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34609.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33862.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33183.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32632.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32249.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32049.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32021.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32136.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32364.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32681.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33069.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33515.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 33997, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34489, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34964.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35405.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35810.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36196.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36592.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37024, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37503, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38025, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38574.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39137.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39708.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40289.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40879.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41466.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42023, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42514.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42905.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43165.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43278.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43232.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43024.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42651.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42115.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41428.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40612.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39701.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38737, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37762.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36819.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35939.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35153.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34482.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33944.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33546.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33282.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33132.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33998, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33982.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34039.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34150.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34314.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34546.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34865.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35283.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35795.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36382.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 37016.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37669.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38317, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38937.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39505.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39984.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40330.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40500.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40461.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40201.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39731.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39084.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37467.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36624.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35848.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35199.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34714.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34405.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34261.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34257, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34371.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34590.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34905.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35304.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35766.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36260.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36755.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37229.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37683.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38132.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38601.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39106.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39647.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40208.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40768.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41315.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41852.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42391.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42940, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43492.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44025.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44505.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44896.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45172.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45310.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45294, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45103.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44723.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44141.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43365.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42421.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41355, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40225.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39090.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38001.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37000.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36117.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35375.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34792.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34376, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34118.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33998, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35376.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35371.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35469.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35650.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35910.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36259.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36709.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37265.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37920, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38650.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39428.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40222.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 41006, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41752, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42430, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 43001.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43420.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43642.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43634.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43382.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42896.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42210.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41378.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40467.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39552.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38704.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37982.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37421.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37030.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36796.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36700, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36724.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36863.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37114, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37468.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37905.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38392.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38893.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39385.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39865, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40346.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40850.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41389.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41959.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42540.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43114, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43670.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44215.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44764.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45326.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45898, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46456.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 46968.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47398.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47716.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47896.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47912.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47738.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47347.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46725.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45876.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44828.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43636.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42367.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41091.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39869.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38747, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37759.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36929.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36276.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35804.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35511.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35376.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37231.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37207.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37317.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37544, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37880.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38329.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38892, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39565.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40335.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41177.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42060, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42953.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43827.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44654.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45401.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 46028.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46492.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46749.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46765, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46524.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 46037.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45336, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44475.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43526.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42566.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41668.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40891.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40268.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39808.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39498.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39323, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39270.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39337.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39525.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39827.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40224.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40682.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41167.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41653.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42134.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42619.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43126.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43666.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44236.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44823.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45414, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46000.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46589.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47190.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47810.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48442.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49062.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49637, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50129.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50504.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50732.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50782.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50622.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50225.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49576.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48679.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47566.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46294, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44934, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43560.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42239.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41022.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39945.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39033.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38303.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37763, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37409.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37231.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39531.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39475.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39579.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39831.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40221.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40745.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41393.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42153.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 43003.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43916.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44859.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45802.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46717.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47573.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48340.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48981.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49453.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49718, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49743, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49513.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 49036.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48342.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47483.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46529.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45553.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44629.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43812, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43135.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42608.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42226.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41975.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41849.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41845.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41965.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42201.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42537.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42942.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43385.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43840.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44299, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44765.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45254.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45776.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46334.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46924.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47537.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48170.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48826.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49508.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50215, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50932.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51634.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52284.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52845.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53280.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53553.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53632.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53486.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53090, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52431.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51518.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50385.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49088.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47697.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46286.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44922.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43657.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42529.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41563.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40774.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40173.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39760.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39531.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42225.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42140.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42231.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42490, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42906.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43469.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44162.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44964.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45847.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46781.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47734, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48674.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49576, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50409.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51147.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51754.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52197.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52439.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52455, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52229.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51769.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51101.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50271.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49342.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48382.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47455.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46615.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45894.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45308, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44855.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44530.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44330, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44251.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44294.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44452.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44709.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45040.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45418.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45821, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46238.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46673.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47135.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47636.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48184.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48780.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49424.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50114.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50847.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51619.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52420.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53228.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54012.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54735, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55357.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55840.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56148.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56250, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56116.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55729.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55082.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54188.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53082.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51818.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50461, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49080.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47738.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46485.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45358.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44382.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43573.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42941, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42491.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42225.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45110.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45186.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45434.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45844.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46402.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47087.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47873.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48730.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49628.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50533.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51417.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52253.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 53016.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53680.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54216, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54595.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54789.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54778.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54551.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54112.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53484.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52706.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51830.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50913.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 50011.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49172.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48427.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47794.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47282, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46889.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46615.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46460.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46421.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46492.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46659, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46902.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47202.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47540.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47907.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48306.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48743.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49230.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49776.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50388.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51068, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51812.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52617.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53468.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54348.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55228.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56076, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56850.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57513.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58026.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58355.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58471.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58353.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 57988.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57377.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56538.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55505.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54328.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53066.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51779.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50523.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49345.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48277.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47344.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46561.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45940, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45487.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48314.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48212.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48272.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48491.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48860.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49364.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49984.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50693.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51463.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52263.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53065.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53841, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54566.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55218.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55774.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56210.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56505.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56637.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56590.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56359.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55946.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55371.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54664.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53865.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 53020.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52173.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51364.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50624.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49972.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49421.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48641.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48415.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48297.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48281.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48357.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48512.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48731.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49003, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49321, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49686.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50104.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50586, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51139, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51769.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52480, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53265.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54117.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55016.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55940, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56856.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57730.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58522.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59196.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59715.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60050.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60177.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60080.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59755.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59208, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58458.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57541.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56499.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55383.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54244.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53130.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52079.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51122.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50280.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49568.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 48998.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48578.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48314.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51303.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51204.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51241.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51412.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51709.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52119.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52625.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53204.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53832.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54484.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55135.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55761.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56341.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56854.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57281.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57604.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57806.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57872.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57792.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57561.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57184.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56674.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56054.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55352.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54604.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53842.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53098.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52398.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51763.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51207.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50738.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50364.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50086.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49904.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49815.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49814.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49892.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50040.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50254.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50529.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50867.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51272.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51750.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52308.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52949, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53671.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54468.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55327.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56228, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57144.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58046.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58899.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59667.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60318, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60819.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61147.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61283.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61219.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60953.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60497.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59870.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59104.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58234.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57303, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56350.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55416.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54530.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53720.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53003.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52394.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51903.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51537.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51303.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53917.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53819.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53825.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53933.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54136.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54426.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54787.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55205.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55660.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56134.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56606.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57058.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57473.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57834.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58125.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58333.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58446, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58452.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58346, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58124.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57792.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57357.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56837, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56249.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55618.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54968, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54321.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53700.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53121.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52600.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52146.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51767.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51469.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51252.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51118.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51065.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51089.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51187.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51358.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51600.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51914.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52303.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52770.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53317, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53942.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54642.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55408.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56224.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57072.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57926.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58759, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59541, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60242.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60836.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61297.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61607.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61753.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61731.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61543.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61200.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60720.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60128.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59453.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58728, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57982.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57246.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56545.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55898.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55322.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54828.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54426, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54120.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53917.8, 145 + 500);
}
